package com.net.oil.order.contract;

import com.net.oil.base.IBaseModel;
import com.net.oil.order.bean.MaintainDetailBean;

/**
 * 作者：lch
 * 时间：2018/6/7 0007:下午 22:06
 * 邮箱：245850413@qq.com
 * 说明：
 */

public interface MaintainDetailContract {
    interface Model extends IBaseModel{

        /**
         * 获取保养记录详情
         * @param id    记录id
         */
        void getMaintainDetail(int id);

        /**
         * 提交保养记录评论
         *
         * @param id          记录id
         * @param score       评分
         * @param commentDesc 评论内容
         */
        void commitComment(int id, int score, String commentDesc);
    }

    interface View {

        /**
         * 获取保养记录详情成功
         * @param maintainDetailBean    记录详情
         */
        void getMaintainDetailSuccess(MaintainDetailBean maintainDetailBean);

        /**
         * 获取保养记录详情失败
         */
        void getMaintainDetailFailed();

        /**
         * 提交评论成功
         */
        void commitCommentSuccess();

        /**
         * 提交评论失败
         */
        void commitCommentFailed();

    }

    interface Presenter {

        /**
         * 获取保养记录详情
         * @param id    记录id
         */
        void getMaintainDetail(int id);

        /**
         * 获取保养记录详情成功
         * @param maintainDetailBean    记录详情
         */
        void getMaintainDetailSuccess(MaintainDetailBean maintainDetailBean);

        /**
         * 获取保养记录详情失败
         */
        void getMaintainDetailFailed();

        /**
         * 提交评论成功
         */
        void commitCommentSuccess();

        /**
         * 提交评论失败
         */
        void commitCommentFailed();

        /**
         * 提交保养记录评论
         *
         * @param id          记录id
         * @param score       评分
         * @param commentDesc 评论内容
         */
        void commitComment(int id, int score, String commentDesc);
    }
}
